#lang r5rs
(define (stream-map' proc . argstream)
  (define (group-car-argstream . argstream)
    (if (null? argstream)
        '()
        (cons (stream-car (car argstream)) (group-car-argstream (cdr argstream)))))

  (define (group-cdr-argstream .argstream)
    (if (null? argstream)
        '()
        (cons (stream-cdr (car argstream)) (group-cdr-argstream (cdr argstream)))))
  (cons (map proc (group-car-argstream argstream))
        (stream-map' proc (group-cdr-argstream))))